iT邦幫忙

2024 iThome 鐵人賽

DAY 30
0
Python

一起來用 Snakify 練練手系列 第 30

【一起來用 Snakify 練練手】Day30 常用工具總結

  • 分享至 

  • xImage
  •  

1. 基本語法與結構

1.1 資料型別

Python 提供多種內建的資料型別:

  • int: 整數
  • float: 浮點數
  • str: 字串
  • list: 列表
  • tuple: 元組(不可變)
  • dict: 字典
  • set: 集合

1.2 條件語句與迴圈

  • if / else: 用來進行邏輯判斷
  • for: 用來迭代一個序列(列表、字串、範圍等)
  • while: 用來進行基於條件的循環

1.3 函數

  • def: 定義函數
  • lambda: 定義匿名函數

2. 常用標準庫

2.1 math 模組

提供常見的數學運算,如平方根、對數、三角函數等。

import math
print(math.sqrt(16))  # 4.0

2.2 random 模組

生成隨機數,隨機選取元素,或者打亂列表順序。

import random
print(random.randint(1, 10))  # 隨機整數

2.3 datetime 模組

處理日期和時間的操作。

import datetime
now = datetime.datetime.now()
print(now)

2.4 ossys 模組

  • os:與操作系統交互,操作文件和目錄。
  • sys:獲取命令行參數、控制程序退出等。
import os
print(os.getcwd())  # 當前工作目錄

3. 資料處理工具

3.1 pandas

用於數據分析和操作,主要使用 DataFrameSeries 結構處理表格數據。

import pandas as pd
df = pd.read_csv("data.csv")
print(df.head())  # 顯示前 5 行數據

3.2 numpy

進行高效的數值計算,特別適合處理矩陣和多維數據。

import numpy as np
arr = np.array([1, 2, 3, 4])
print(arr.mean())  # 計算平均值

3.3 csv 模組

處理 CSV 文件的內建模組,用於讀寫逗號分隔值(CSV)。

import csv
with open('file.csv', mode='r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

4. 圖片與數據可視化

4.1 matplotlib

強大的數據可視化工具,可以繪製折線圖、柱狀圖、直方圖等。

import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()

4.2 Pillow

圖像處理模組,可以進行圖像打開、保存、縮放、裁剪等操作。

from PIL import Image
img = Image.open("example.jpg")
img.show()

5. 文件處理與數據存儲

5.1 json 模組

用於處理 JSON 格式的數據,特別適合存儲結構化數據。

import json
data = {"name": "Alice", "age": 25}
json_str = json.dumps(data)
print(json_str)

5.2 sqlite3

內建的輕量級資料庫,用於處理本地數據存儲。

import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE users (id INTEGER, name TEXT)')
conn.commit()
conn.close()

6. 網絡操作

6.1 requests

用來發送 HTTP 請求,適合訪問 Web API 和抓取網頁內容。

import requests
response = requests.get('https://api.example.com/data')
print(response.json())

6.2 beautifulsoup4

網頁解析模組,通常與 requests 搭配使用,適合爬取和解析 HTML 網頁。

from bs4 import BeautifulSoup
response = requests.get("https://example.com")
soup = BeautifulSoup(response.text, 'html.parser')
print(soup.title.text)

7. 開發和自動化工具

7.1 argparse

用於處理命令列參數的標準庫。

import argparse
parser = argparse.ArgumentParser(description="一個簡單的程式")
parser.add_argument("name", help="輸入名字")
args = parser.parse_args()
print(f"Hello, {args.name}")

7.2 tkinter

內建的圖形界面模組,用於創建桌面應用。

import tkinter as tk
window = tk.Tk()
label = tk.Label(window, text="Hello, World!")
label.pack()
window.mainloop()

8. 進階數據與迭代工具

8.1 itertools

用於處理迭代器的工具集,支持排列組合等操作。

import itertools
for p in itertools.permutations([1, 2, 3]):
    print(p)

8.2 collections

提供高效的集合類型,如 Counterdequedefaultdict 等。

from collections import Counter
data = ["apple", "banana", "apple"]
counter = Counter(data)
print(counter)  # 輸出:{'apple': 2, 'banana': 1}

9. 測試與調試工具

9.1 unittest

內建的單元測試模組,適合編寫自動化測試。

import unittest

def add(a, b):
    return a + b

class TestAdd(unittest.TestCase):
    def test_add(self):
        self.assertEqual(add(1, 2), 3)

if __name__ == '__main__':
    unittest.main()

9.2 logging

用於在程序中記錄信息,適合調試和日誌記錄。

import logging
logging.basicConfig(level=logging.DEBUG)
logging.debug("這是一條調試信息")

總結

Python 提供了豐富的標準庫和第三方模組,能夠應對多種應用場景,包括數據處理、網絡交互、文件操作和應用開發。掌握這些工具,能夠提高開發效率並幫助解決各類問題。根據不同需求選擇合適的模組,能夠極大提升 Python 開發的靈活性和可擴展性。


上一篇
【一起來用 Snakify 練練手】Day29 python pandas 工具
系列文
一起來用 Snakify 練練手30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言